from django.db import models

# 会员模型
class Users(models.Model):
    nikename=models.CharField(max_length=20)
    password=models.CharField(max_length=77)
    phone=models.CharField(max_length=11)
    email=models.CharField(max_length=100)
    age=models.IntegerField(null=True)
    pic_url=models.CharField(max_length=100)
    SEX_CHOICES=((1,'男'),(0,'女'))
    sex=models.CharField(max_length=1,null=True,choices=SEX_CHOICES)

    #用户状态 0 正常 1 禁用 2 删除
    status=models.IntegerField(default=0)
    addtime=models.DateTimeField(auto_now_add=True)
    #自定义用户管理权限
    class Meta:
        permissions=(
            ("show_Users","查看用户列表权限"),
            ("create_Users","添加用户信息权限"),
            ("edit_Users","修改用具信息权限"),
            ("remove_Users","删除用户信息权限")
        )

#商品分类
class Cates(models.Model):
    name=models.CharField(max_length=20)
    pid=models.IntegerField()
    path=models.CharField(max_length=50)

    #自定义商品分类管理权限
    class Meta:
        permissions=(
            ("show_Cates","查看分类列表权限"),
            ("create_Cates","添加分类信息权限"),
            ("edit_Cates","修改分类信息权限"),
            ("remove_Cates","删除分类信息权限")
        )
#商品模型
class Goods(models.Model):
    #id 所属分类 商品名 图片 添加时间 销量

    #使用cates中的id 作为这个字段的外键
    # 内容是所属分类
    cateid=models.ForeignKey(to="Cates",to_field="id")
    #商品名
    goodsname=models.CharField(max_length=50)
    #商品标题
    title=models.CharField(max_length=255)
    #商品价格
    price=models.DecimalField(max_digits = 10,decimal_places = 2)
    #商品库存
    goodsunm=models.IntegerField()
    #商品图片
    pic_url=models.CharField(max_length=255)
    #商品信息
    goodsinfo=models.TextField()
    #销量
    ordernum=models.IntegerField(default=0)
    #点击量
    clicknum=models.IntegerField(default=0)
    #商品状态 0 新品 1 热卖 2 推荐 3 下架
    status=models.IntegerField(default=0)
    #添加时间
    addtime=models.DateTimeField(auto_now_add=True)

    #自定义商品管理权限
    class Meta:
        permissions=(
            ("show_Goods","查看商品列表权限"),
            ("create_Goods","添加商品信息权限"),
            ("edit_Goods","修改商品信息权限"),
            ("remove_Goods","删除商品信息权限")
        )
#购物车
class Cart(models.Model):
    #id 用户id  商品id 数量
    uid=models.ForeignKey(to="Users",to_field="id")
    goodsid=models.ForeignKey(to="Goods",to_field="id")
    num=models.IntegerField()

#订单
class Order(models.Model):
    #用户 id  外键
    uid=models.ForeignKey(to="Users",to_field="id")
    #用户真实姓名
    username=models.CharField(max_length=20)
    #手机号
    phone=models.CharField(max_length=11)
    #地址
    address = models.CharField(max_length=255)
    #总价
    totalprice=models.DecimalField(max_digits = 10,decimal_places = 2)
    #状态  0 未支付 1 支付 2 发货
    status=models.IntegerField(default=0)
    #支付方法 0 支付宝 1 微信 2 银联
    paytype=models.IntegerField(default=0)
    #下单时间
    addtime=models.DateTimeField(auto_now_add=True)
    #支付时间
    paytime=models.DateTimeField(null=True)

    #自定义订单权限
    class Meta:
        permissions=(
            ("show_Order","查看订单列表权限"),
            ("create_Order","添加订单信息权限"),
            ("edit_Order","修改订单信息权限"),
            ("remove_Order","删除订单信息权限")
        )

class OrderInfo(models.Model):
    #订单id
    orderid=models.ForeignKey(to="Order",to_field="id")
    #商品id
    goodsid=models.ForeignKey(to="Goods",to_field="id")
    #数量
    num=models.IntegerField()
    #下单价格
    #original_price=models.CharField(max_length=11,null=True)
